﻿//  --------------------------------
//  Copyright (c) AW Systems, Inc. All rights reserved.
//  This source code is made available under the terms of the Microsoft Public License (Ms-PL)
//  http://www.codeplex.com/SLAM/license
//  ---------------------------------

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace AWS.SLAM.Configuration
{
    /// <summary>
    /// Represents a type configured to be managed by SLAM.
    /// </summary>
    public class ConfiguredType
    {
        /// <summary>
        /// The Name of the type.
        /// </summary>
        public string Name { get; set; }

        /// <summary>
        /// The Id of the type, used specifically when the type is a List.
        /// </summary>
        public string Id { get; set; }

        /// <summary>
        /// Indicates whether the type is a Content Type or not.
        /// </summary>
        public bool ContentType { get; set; }

        /// <summary>
        /// The name of the Site (Web) under which the type exists.  
        /// </summary>
        /// <remarks>Site is blank for types in the Root site.  For types in a subsite, Site should
        /// match the format of a SPWeb.Name value such as "MySubsite/MySubSubSite" for a sub-subsite.</remarks>
        public string Site { get; set; }

        /// <summary>
        /// The name of the Site Collection (Site) under which the type exists.  
        /// </summary>
        /// <remarks>Site is blank for types in the Root site collection.  For types in another Site Collection, Site Collection should
        /// match the format of a SPSite.ServerRelativeUrl value such as "sites/MySiteCollection" for a site collection under "sites".</remarks>
        public string SiteCollection { get; set; }

        /// <summary>
        /// Creates a new ConfiguredType instance.
        /// </summary>
        public ConfiguredType() { }
    }
}
